package com.hhxy.service;

import com.hhxy.model.dto.AddMenuDto;
import com.hhxy.model.entity.Menu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hhxy.utils.response.ResponseResult;

import java.util.List;

/**
* @author ghp
* @description 针对表【tb_menu(菜单权限表)】的数据库操作Service
* @createDate 2023-04-25 11:58:49
*/
public interface MenuService extends IService<Menu> {

    /**
     * 根据用户userId查询权限信息
     *
     * @return
     */
    List<String> selectPermsByUserId();

    /**
     * 根据userId查询菜单信息
     *
     * @return
     */
    ResponseResult selectRouterMenuTreeByUserId();

    /**
     * 分页条件查询菜单信息
     *
     * @param menuName
     * @param status
     * @return
     */
    ResponseResult list(String menuName, String status);

    /**
     * 新增菜单
     *
     * @param addMenuDto
     * @return
     */
    ResponseResult add(AddMenuDto addMenuDto);

    /**
     * 根据id删除菜单
     * @param id
     * @return
     */
    ResponseResult deleteMenuById(Long id);

    /**
     * 更新菜单信息
     * @param addMenuDto
     * @return
     */
    ResponseResult updateMenuById(AddMenuDto addMenuDto);

    /**
     * 获取对应角色的权限信息
     * @param id
     * @return
     */
    List<Long> selectMenuListByRoleId(Long id);
}
